library(tidyverse)
library(sf)
library(tmap)
library(rnaturalearth)
library(rnaturalearthdata)
library(rnaturalearthhires)

weather <- read_csv('sewanee_weather.csv')
## Warning: One or more parsing issues, call `problems()` on your data frame for details,
## e.g.:
##   dat <- vroom(...)
##   problems(dat)
knitr::opts_chunk$set(echo = TRUE, warning = FALSE, message = FALSE)


head(weather)
## # A tibble: 6 Ă— 38
##   STATION    NAME  LATITUDE LONGITUDE ELEVATION DATE        DAPR DAPR_ATTRIBUTES
##   <chr>      <chr>    <dbl>     <dbl>     <dbl> <date>     <dbl> <chr>          
## 1 USC004081… SEWA…     35.2     -85.9      588. 2000-06-01    NA <NA>           
## 2 USC004081… SEWA…     35.2     -85.9      588. 2000-06-02    NA <NA>           
## 3 USC004081… SEWA…     35.2     -85.9      588. 2000-06-03    NA <NA>           
## 4 USC004081… SEWA…     35.2     -85.9      588. 2000-06-04    NA <NA>           
## 5 USC004081… SEWA…     35.2     -85.9      588. 2000-06-05    NA <NA>           
## 6 USC004081… SEWA…     35.2     -85.9      588. 2000-06-06    NA <NA>           
## # ℹ 30 more variables: MDPR <dbl>, MDPR_ATTRIBUTES <chr>, PRCP <dbl>,
## #   PRCP_ATTRIBUTES <chr>, SNOW <dbl>, SNOW_ATTRIBUTES <chr>, SNWD <dbl>,
## #   SNWD_ATTRIBUTES <chr>, TMAX <dbl>, TMAX_ATTRIBUTES <chr>, TMIN <dbl>,
## #   TMIN_ATTRIBUTES <chr>, TOBS <dbl>, TOBS_ATTRIBUTES <chr>, WESD <lgl>,
## #   WESD_ATTRIBUTES <lgl>, WESF <lgl>, WESF_ATTRIBUTES <lgl>, WT01 <dbl>,
## #   WT01_ATTRIBUTES <chr>, WT03 <dbl>, WT03_ATTRIBUTES <chr>, WT04 <dbl>,
## #   WT04_ATTRIBUTES <chr>, WT05 <lgl>, WT05_ATTRIBUTES <lgl>, WT06 <dbl>, …

Has the minimum and maximum temperature changed over time?

y2000 <- weather %>% filter(year(DATE) <= 2005)
y2005 <- weather %>% filter(year(DATE) > 2005 & year(DATE) <= 2010)
y2010 <- weather %>% filter(year(DATE) > 2010 & year(DATE) <= 2015)
y2015 <- weather %>% filter(year(DATE) > 2015 & year(DATE) <= 2020)

ggplot(data = y2000, aes(x = DATE, y = TMAX)) + 
  geom_point() + 
  labs(title = "Temperature Data up to 2005", x = "Date", y = "Max Temperature (TMAX)")

ggplot(data = y2005, aes(x = DATE, y = TMAX)) + 
  geom_point() + 
  labs(title = "Temperature Data from 2006 to 2010", x = "Date", y = "Max Temperature (TMAX)")

ggplot(data = y2010, aes(x = DATE, y = TMAX)) + 
  geom_point() + 
  labs(title = "Temperature Data from 2011 to 2015", x = "Date", y = "Max Temperature (TMAX)")

ggplot(data = y2015, aes(x = DATE, y = TMAX)) + 
  geom_point() + 
  labs(title = "Temperature Data from 2016 to 2020", x = "Date", y = "Max Temperature (TMAX)") 

### plots together

y2000 <- weather %>% 
  filter(year(DATE) <= 2005) %>% 
  mutate(Period = "2000-2005")

y2015 <- weather %>% 
  filter(year(DATE) > 2015 & year(DATE) <= 2020) %>% 
  mutate(Period = "2015-2020")

combined_data <- bind_rows(y2000, y2015)

ggplot(data = combined_data, aes(x = DATE, y = TMAX, color = Period)) + 
  geom_point(alpha = 0.8) + 
  labs(title = "Comparison of Temperature Data: 2000-2005 vs 2015-2020", 
       x = "Date", 
       y = "Max Temperature (TMAX)")

onto t-min

ggplot(data = y2000, aes(x = DATE, y = TMIN)) + 
  geom_point() + 
  labs(title = "Temperature Data up to 2005", x = "Date", y = "Max Temperature (TMIN)")

ggplot(data = y2005, aes(x = DATE, y = TMIN)) + 
  geom_point() + 
  labs(title = "Temperature Data from 2006 to 2010", x = "Date", y = "Max Temperature (TMIN)")

ggplot(data = y2010, aes(x = DATE, y = TMIN)) + 
  geom_point() + 
  labs(title = "Temperature Data from 2011 to 2015", x = "Date", y = "Max Temperature (TMIN)")

ggplot(data = y2015, aes(x = DATE, y = TMIN)) + 
  geom_point() + 
  labs(title = "Temperature Data from 2016 to 2020", x = "Date", y = "Max Temperature (TMIN)") 

same thing or whatever

ggplot(data = combined_data, aes(x = DATE, y = TMIN, color = Period)) + 
  geom_point(alpha = 0.8) + 
  labs(title = "Comparison of Temperature Data: 2000-2005 vs 2015-2020", 
       x = "Date", 
       y = "Max Temperature (TMIN)")

for years 2000 to 2005

overall_avg_2000 <- y2000 %>% 
  summarise(
    avg_TMAX = mean(TMAX, na.rm = TRUE),
    avg_TMIN = mean(TMIN, na.rm = TRUE)
  )

overall_avg_2000
## # A tibble: 1 Ă— 2
##   avg_TMAX avg_TMIN
##      <dbl>    <dbl>
## 1     65.4     48.2

65.35155 48.22274

for years 2010 to 2015

overall_avg_2015 <- y2015 %>% 
  summarise(
    avg_TMAX = mean(TMAX, na.rm = TRUE),
    avg_TMIN = mean(TMIN, na.rm = TRUE)
  )
overall_avg_2015
## # A tibble: 1 Ă— 2
##   avg_TMAX avg_TMIN
##      <dbl>    <dbl>
## 1     67.7     50.2

67.71927 50.17037

tempp <- weather %>% 
  group_by(year = year(DATE)) %>% 
  summarise(
    avg_TMAX = mean(TMAX, na.rm = TRUE),
    avg_TMIN = mean(TMIN, na.rm = TRUE)
  )



ggplot() +
  geom_line(data = tempp, aes(x = year, y = avg_TMAX, color = "avg_TMAX"), size = 0.8) +
  geom_line(data = tempp, aes(x = year, y = avg_TMIN, color = "avg_TMIN"), size = 0.8) +
  labs(title = "Yearly Average Max and Min Temperatures", 
       x = "Year", 
       y = "Average Temperature", 
       color = "Temperature Type")

tempp <- tempp %>% 
  mutate( avgtemp = (avg_TMIN + avg_TMAX) / 2 )

ggplot() +
  geom_line(data = tempp, aes(x = year, y = avgtemp), size = 0.8) +
  labs(title = "Yearly Average Max and Min Temperatures", 
       x = "Year", 
       y = "Average Temperature") 

it drops off at the end because the latest date was 7 days ago so the mean is lower because it’s only been winter same thing for the start.

conclusion